/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package cm.java.jpa.inicial;

import java.util.Objects;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.validation.constraints.NotNull;

@Entity
@Table (name = "t_livros")
public class Livros {
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Long id;
    @NotNull
    private String titulo;
    private Float preco;
    private String descricao;
    private long isbn;
    private int numpagina;
    private boolean ilustracao;
    
    public Livros(){
    }
    
    public Livros( String Titulo, Float Preco, String Descricao, long ISBN, int NumPagina, boolean Ilustracao){
        titulo = Titulo;
        preco = Preco;
        descricao = Descricao;
        isbn = ISBN;
        numpagina = NumPagina;
        ilustracao = Ilustracao;
    }
    
    
    @Override
    public int hashCode() {
        int hash = 7;
        hash = 17 * hash + Objects.hashCode(this.titulo);
        hash = 17 * hash + Objects.hashCode(this.preco);
        hash = 17 * hash + Objects.hashCode(this.descricao);
        hash = 17 * hash + (int) (this.isbn ^ (this.isbn >>> 32));
        hash = 17 * hash + this.numpagina;
        hash = 17 * hash + (this.ilustracao ? 1 : 0);
        return hash;
    }

    @Override
    public boolean equals(Object obj) {
        if (obj == null) {
            return false;
        }
        if (getClass() != obj.getClass()) {
            return false;
        }
        final Livros other = (Livros) obj;
        if (this.id != other.id) {
            return false;
        }
        if (!Objects.equals(this.titulo, other.titulo)) {
            return false;
        }
        if (!Objects.equals(this.preco, other.preco)) {
            return false;
        }
        if (!Objects.equals(this.descricao, other.descricao)) {
            return false;
        }
        if (this.isbn != other.isbn) {
            return false;
        }
        if (this.numpagina != other.numpagina) {
            return false;
        }
        if (this.ilustracao != other.ilustracao) {
            return false;
        }
        return true;
    }
   

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }
    
    public String getTitulo() {
        return titulo;
    }

    public void setTitulo(String titulo) {
        this.titulo = titulo;
    }

    public Float getPreco() {
        return preco;
    }

    public void setPreco(Float preco) {
        this.preco = preco;
    }

    public String getDescricao() {
        return descricao;
    }

    public void setDescricao(String descricao) {
        this.descricao = descricao;
    }

    public long getIsbn() {
        return isbn;
    }

    public void setIsbn(long isbn) {
        this.isbn = isbn;
    }

    public int getNumpagina() {
        return numpagina;
    }

    public void setNumpagina(int numpagina) {
        this.numpagina = numpagina;
    }

    public boolean isIlustracao() {
        return ilustracao;
    }

    public void setIlustracao(boolean ilustracao) {
        this.ilustracao = ilustracao;
    }

}
